[5.2] add test for site router (sef)#44253
Merged
laoneo merged 3 commits intojoomla:5.2-devfrom Oct 30, 2024
Merged
Conversation
912981f to
8f83686
Compare
Member
|
You can rename the htaccess.txt in beforeEach to .htaccess and in afterEach back to .txt. |
Contributor
Author
At the moment I'm struggle a bit with copying/renaming the file. |
b1fd7fc to
c81fd1b
Compare
Contributor
Author
|
It looks like mod_rewrite is not enabled in docker image. |
33a9baf to
9022974
Compare
Contributor
Author
|
Ready for review |
laoneo
reviewed
Oct 29, 2024
Member
|
@heelc29 I contacted you on matermost, if you have time, would be great if you can respond. Anyway, good work! |
This was referenced Nov 11, 2024
muhme
added a commit
to muhme/joomla-branches-tester
that referenced
this pull request
Dec 13, 2024
To be able to test plugins/system/sef/SefPlugin.cy.js, introduced with joomla/joomla-cms#44253 and first time using Joomla command line client. Not supporting Cypress GUI
muhme
added a commit
to muhme/joomla-cms
that referenced
this pull request
Dec 22, 2024
With the `SefPlugin.cy.js` test specification, the Joomla command line client tool was added to the Joomla system tests for the first time. This is an additional complexity and dependency. Especially if the test environment is containerised and Cypress container has no PHP installed. And PHP version needs to be 8.1 and additional modules like `php-simplexml` are needed. And with the Docker access rights, `configuration.php` must be opened for writing (`chmod 644`). And then there is the locally running Cypress GUI to be configured... Therefore switched from using the Joomla command line client tool to using the existing `config_setParameter` Cypress command. The original creator of [44253](joomla#44253) could not know as it is not documented (will be solved with another PR and together with enabling `mod_rewrite` and the `AllowOverride All` needed configuration). Since sometimes the first SEF test failed when the entire Joomla System Tests was performed, the following was implemented: * The operations of the `writeRelativeFile` Cypress task are wrapped in a Promise to ensure that they are only resolved when everything is done * The `config_setParameter` Cypress custom command to return a Cypress chainable * Chaining has been implemented everywhere in `SefPlugin.cy.js` For this test spec the Cypress best practice to use `beforeEach` to ensure tests is added to run independently from one another (and needed for other places in the Joomla System Tests – one more PR). As a small side effect the SEF test spec with 9 tests runs faster, e.g. 3 instead of 18 seconds before. Tested with own target Joomla 5.2-dev three times the single test spec on: * Intel macOS 15.2 using Apache/MariaDB * Apple Silicon macOS 15.2 using Apache/MariaDB * Windows 11 24H2 using Laragon/Apache/MySQL ``` npx cypress run --spec tests/System/integration/plugins/system/sef/SefPlugin.cy.js ``` And once the overall test suite: ``` npm run cypress:run ```
5 tasks
laoneo
added a commit
that referenced
this pull request
Jan 25, 2025
… Client Tool (#44656) * [Cypress] Remove Joomla command line dependency With the `SefPlugin.cy.js` test specification, the Joomla command line client tool was added to the Joomla system tests for the first time. This is an additional complexity and dependency. Especially if the test environment is containerised and Cypress container has no PHP installed. And PHP version needs to be 8.1 and additional modules like `php-simplexml` are needed. And with the Docker access rights, `configuration.php` must be opened for writing (`chmod 644`). And then there is the locally running Cypress GUI to be configured... Therefore switched from using the Joomla command line client tool to using the existing `config_setParameter` Cypress command. The original creator of [44253](#44253) could not know as it is not documented (will be solved with another PR and together with enabling `mod_rewrite` and the `AllowOverride All` needed configuration). Since sometimes the first SEF test failed when the entire Joomla System Tests was performed, the following was implemented: * The operations of the `writeRelativeFile` Cypress task are wrapped in a Promise to ensure that they are only resolved when everything is done * The `config_setParameter` Cypress custom command to return a Cypress chainable * Chaining has been implemented everywhere in `SefPlugin.cy.js` For this test spec the Cypress best practice to use `beforeEach` to ensure tests is added to run independently from one another (and needed for other places in the Joomla System Tests – one more PR). As a small side effect the SEF test spec with 9 tests runs faster, e.g. 3 instead of 18 seconds before. Tested with own target Joomla 5.2-dev three times the single test spec on: * Intel macOS 15.2 using Apache/MariaDB * Apple Silicon macOS 15.2 using Apache/MariaDB * Windows 11 24H2 using Laragon/Apache/MySQL ``` npx cypress run --spec tests/System/integration/plugins/system/sef/SefPlugin.cy.js ``` And once the overall test suite: ``` npm run cypress:run ``` * writeRelativeFile() header adapted return Promise Thank @heekc29 for the hint * Delete cy.log in custom command --------- Co-authored-by: Allon Moritz <allon.moritz@digital-peak.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary of Changes
add tests for site router (sef) and should cover:
Testing Instructions
drone
code review
Actual result BEFORE applying this Pull Request
no sef tests
Expected result AFTER applying this Pull Request
test coverage
Link to documentations
Please select: